/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;


import java.util.Date;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


/**
 * @Data 17/05/12 
 * @author Marcelo Paiva (Meticore)
 */
public class mail {
    
    private String mail = "oficinarg@sdb.com.br";
    private String []dadosChamado;
    private String [][] dadosReparos;
    private String [] dadosUser ;
    private String reparos;
   
    
    
    public mail() {
            

    }
    // se email precisar de autendicar no servidor usar a funcao abaixo
    Authenticator autenticador = new Authenticator() {

        @Override
        protected PasswordAuthentication getPasswordAuthentication() {

            return new PasswordAuthentication(mail, "EmaTiSdb");
        }
    };
/////////////////////////////////////////////////////////////////////////////////

    public void enviar( String []dadosChamado , String [][] dadosReparos , String [] dadosUser  ) throws AddressException, MessagingException {
        System.out.println("inicio do enviar");
        this.dadosChamado = dadosChamado;
        this.dadosReparos = dadosReparos;
        this.dadosUser    = dadosUser;
        
        
       
   
   reparos = "<table width='600' border='1' align='left'>"+
             "<tr>"+
             "<td width='150'>Tipo Reparo</td>"+
             "<td width='150'>Item</td>"+
             "<td width='150'>Descricao</td>"+
             "<td width='150'>Data Inicial</td>"+
             "<td width='150'>Data Final</td>"+
             "<td width='150'>Manuntentor</td>"+
             "</tr>";
     
    System.out.println("antes do for");
        
        //for pra criar o tabela de reparos em html 
    
         for(int cont = 0 ; cont< dadosReparos.length ; cont++){
          
          if(dadosReparos[cont][0] != null){
             
        
              reparos += "<tr>"+
                      "<td width='150'>"+dadosReparos[cont][0]+"</td>"+
                      "<td width='150'>"+dadosReparos[cont][1]+"</td>"+
                      "<td width='150'>"+dadosReparos[cont][2]+"</td>"+
                      "<td width='150'>"+dadosReparos[cont][3]+"</td>"+
                      "<td width='150'>"+dadosReparos[cont][4]+"</td>"+
                      "<td width='150'>"+dadosReparos[cont][5]+"</td>"+
                      "<td width='150'>"+dadosReparos[cont][6]+"</td>"+
                      "</tr>";
                                       
             }else{
              
              cont = 50;
              
            reparos += "</table>" ; 
              
          }
        
         }
         System.out.println("montando email");
        String texto = "Data: " + dadosChamado[3] +"<br>"+"OS N°: " + dadosChamado[0] + "<br>" + "Registro: " + dadosChamado[2] 
                + "<br>" + "Nome: " +dadosUser[0] + "<br><br><br>" + "Motivo: " + dadosChamado[1] +" - "+dadosChamado[5]
                + "<br><br>" + dadosChamado[6] +"<br><br><br> Reparos:<br><br>"
                +reparos;


        Properties p = new Properties();
        //diz que server precisa de autenticacao
        p.put("mail.smtp.auth", "true");
        //seta a porta do servidor smtp
        p.put("mail.smtp.port", "587");
        //seta o endereco smtp
        p.put("mail.host", "200.98.199.2");

        //cria sessao

        Session session = Session.getInstance(p, autenticador);

        MimeMessage mensagem = new MimeMessage(session);

        //email do remetente
        mensagem.setFrom(new InternetAddress(mail));
        
        //email distino
        mensagem.setRecipient(Message.RecipientType.TO, new InternetAddress(dadosUser[1]));
           
        //email com copia
        mensagem.setRecipient(Message.RecipientType.CC,  new InternetAddress(mail));
       
        //data do email
        mensagem.setSentDate(new Date());
        //assunto
        mensagem.setSubject("Encerramento Ordem de Serviço N° "+ dadosChamado[0] +" - "+dadosChamado[1] +" - " +dadosChamado[5]);
        //corpo da mensagem
        mensagem.setContent(texto, "text/html");
        //faz o envio
        Transport.send(mensagem);
       System.out.println("enviando");
    }
     
    
}
